Skip to content

autotools: fix make dist and make distcheck to include all required files#566

Closed
Copilot wants to merge 5 commits into
masterfrom
copilot/check-make-dist-functionality
Closed

autotools: fix make dist and make distcheck to include all required files#566
Copilot wants to merge 5 commits into
masterfrom
copilot/check-make-dist-functionality

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 5, 2026

make dist was producing an incomplete tarball — missing build system files for other build systems (CMake, Meson), entire utility subdirectories, test data, and misc project files. Additionally, make distcheck was failing due to several issues in the build system configuration.

Top-level Makefile.am

  • Replace non-existent COPYING with LICENSE
  • Add to EXTRA_DIST: fuzzers/, SECURITY.md, CMakeLists.txt, cmake/, meson.build, meson_options.txt, utils/delphi/, utils/matlab/, utils/common/, utils/meson.build
  • Add utils/samples to SUBDIRS (had Makefile.am but was disconnected from the build)
  • Move plugins from EXTRA_DIST into SUBDIRS (always present) so plugins/Makefile is always cleaned by make distclean
  • Prefix clean-local find commands with - to suppress errors in distcheck build environments where Projects/ doesn't exist

configure.ac

  • Add utils/samples/Makefile to AC_CONFIG_FILES

plugins/Makefile.am

  • Replace unconditional SUBDIRS = fast_float threaded with conditional SUBDIRS = $(USER_PLUGINS) and DIST_SUBDIRS = fast_float threaded, so plugins are only built when enabled but always properly distributed and cleaned

Per-subdirectory Makefile.am fixes

  • utils/samples: add missing vericc.c to EXTRA_DIST
  • testbed: remove test-generated new.icc from EXTRA_DIST (including it caused a segfault in distcheck because the read-only copy blocked fopen for writing); add alpha_test.c, testthread.cpp, meson.build to EXTRA_DIST; add chmod u+w after copying ICC files to prevent read-only permission issues in distcheck
  • src, include, all utils/* tool dirs: add meson.build to EXTRA_DIST
  • plugins/fast_float/testbed, plugins/threaded/testbed: remove references to non-existent ICC files (consolidated into plugins/test_profiles/); fix check: target to copy from correct location; add meson.build to EXTRA_DIST

.gitignore

  • Add *~ to suppress editor backup files

Copilot AI assigned Copilot and mm2 May 5, 2026
Copilot AI linked an issue May 5, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Fix make dist functionality for missing extra-dist files autotools: fix make dist to include all required files May 5, 2026
Copilot finished work on behalf of mm2 May 5, 2026 10:27
Copilot AI requested a review from mm2 May 5, 2026 10:27
@mm2 mm2 marked this pull request as ready for review May 5, 2026 10:35
@mm2
Copy link
Copy Markdown
Owner

mm2 commented May 5, 2026

@copilot make distcheck complains about missing source files.

Copilot AI and others added 2 commits May 5, 2026 12:15
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 5, 2026

@copilot make distcheck complains about missing source files.

Fixed in commit cdbb8ed. The make distcheck failures were caused by three issues:

  1. Segfault in testcms: new.icc is a test-generated file that was incorrectly listed in testbed/Makefile.am EXTRA_DIST. In distcheck, the extracted source is made read-only, and cp preserves permissions — so when testcms tried to fopen("new.icc", "wb") the file was read-only, causing a NULL fp segfault. Removed new.icc from EXTRA_DIST and added chmod u+w after copying test ICC files.

  2. plugins/Makefile leftover after distclean: plugins/ was never in SUBDIRS (only plugins/fast_float and plugins/threaded were added conditionally), so distclean never cleaned the plugins/Makefile generated by configure. Fixed by always including plugins in top-level SUBDIRS, and updating plugins/Makefile.am to use conditional SUBDIRS with DIST_SUBDIRS = fast_float threaded.

  3. find: 'Projects': No such file or directory warnings: The clean-local target's find Projects ... calls failed in the distcheck build directory where Projects/ doesn't exist. Fixed by prefixing those commands with - to suppress errors.

Copilot AI changed the title autotools: fix make dist to include all required files autotools: fix make dist and make distcheck to include all required files May 5, 2026
Copilot finished work on behalf of mm2 May 5, 2026 12:17
@mm2
Copy link
Copy Markdown
Owner

mm2 commented May 5, 2026

Completely off. Copilot messed out all autotools files. I have to discard everything :-(

@mm2 mm2 closed this May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

check "make dist" functionality

2 participants